package cn.tedu.thread;

public class DaemonDemo {
    public static void main(String[] args) {
        //创建线程对象---小兵
        Thread t1=new Thread(new Soilder(),"宫本");
        Thread t2=new Thread(new Soilder(),"炮车");
        Thread t3=new Thread(new Soilder(),"超级兵");
        Thread t4=new Thread(new Soilder(),"小兵");

        //设置守护线程
        t1.setDaemon(true);
        t2.setDaemon(true);
        t3.setDaemon(true);
        t4.setDaemon(true);

        //开启
        t1.start();
        t2.start();
        t3.start();
        t4.start();


        //线程不是守护线程一定是被守护线程
        //主线程没有设置守护线程就是被守护线程
        //BOSS
        for(int i=20;i>=0;i--){
            System.out.println("BOSS掉了一滴血，还剩余"+i+"滴血...");

            //休眠
            try {
                Thread.sleep(3);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
}



//定义类---描述线程任务信息（小兵类）
class Soilder implements Runnable{
    @Override
    public void run() {
        for(int i=10;i>=0;i--){
            System.out.println
                    (Thread.currentThread().getName()+
                            "掉了一滴血，还剩"+i+"滴血...");

            //休眠
            try {
                Thread.sleep(10);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
}